package com.foftact.block.mapper;

import com.foftact.block.Block;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 板块列表Mapper接口
 * 用于操作block表
 */
@Mapper
public interface BlockMapper {
    /**
     * 插入单条板块数据
     * @param block 板块数据对象
     * @return 插入的行数
     */
    int insert(Block block);

    /**
     * 批量插入板块数据
     * @param blockList 板块数据列表
     * @return 插入的行数
     */
    int batchInsert(@Param("list") List<Block> blockList);

    /**
     * 根据板块代码查询板块数据
     * @param code 板块代码
     * @return 板块数据对象
     */
    Block selectByCode(String code);

    /**
     * 查询所有板块数据
     * @return 板块数据列表
     */
    List<Block> selectAll();

    /**
     * 根据板块代码更新板块数据
     * @param block 板块数据对象
     * @return 更新的行数
     */
    int updateByCode(Block block);

    /**
     * 插入或更新板块数据
     * @param block 板块数据对象
     * @return 操作的行数
     */
    int insertOrUpdate(Block block);

    /**
     * 删除超过指定天数的数据
     * @param days 天数
     * @return 删除的行数
     */
    int deleteOldData(@Param("days") int days);
}